package com.hyper_yang._01_jdbc.pool;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.jupiter.api.Test;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

/*
    Druid 连接池使用步骤: (本项目用 maven不用这么复古的方式)
        1、导入第三方 jar包
        2、右键 lib文件夹 -> Add as Library
        3、创建配置文件
            在模块下，创建文件夹 resources,右键 -> mark directory as -> Resources Root
            创建 properties配置文件
 */
public class DruidTest {
    @Test
    public void testDruidPool() throws Exception {
        // 创建一个 Properties集合
        Properties properties = new Properties();
        // 通过类自带的字节输入流，读取配置文件
        InputStream inputStream = DruidTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
        // 通过 properties.load方法将流里的数据加载到集合中
        properties.load(inputStream);
        // 通过 DruidDataSourceFactory.createDataSource 创建连接池
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        // 通过连接池获取连接
        Connection connection = dataSource.getConnection();
        // 使用
        System.out.println(connection);
        // 归还连接，将用完的连接还给连接池，供下一个用户使用
        connection.close();
    }
}
